package main

import (
	"fmt"
)

func main() {

	a := make([]int64, 0)
	fmt.Println(cap(a), len(a))

	for i := 0; i < 8; i++ {
		a = append(a, 1)
		fmt.Println(cap(a), len(a)) //打印容量和实际长度
		fmt.Printf("address of slice %p \n", a)
	}

}

//输出：
//0 0
//1 1
//2 2
//4 3
//4 4
//8 5
//8 6
//8 7
//8 8
//可以看到内存分配了4次（内存地址不同），每次分配的大小分别为1、2、4、8
